from zope.interface import directlyProvides, classImplements

from meercat.mapreduce.reducers import utils, lccn, nlm

from meercat.solr.mapreduce.interfaces import ISolrFieldReducer



directlyProvides(utils.setReduction, ISolrFieldReducer)
directlyProvides(utils.insensitiveSetReduction, ISolrFieldReducer)
directlyProvides(utils.firstValue, ISolrFieldReducer)
directlyProvides(utils.firstYear, ISolrFieldReducer)
directlyProvides(utils.extractYears, ISolrFieldReducer)

classImplements(utils.requiredMap, ISolrFieldReducer)
classImplements(utils.optionalMap, ISolrFieldReducer)
classImplements(utils.filteredOptionalMap, ISolrFieldReducer)

classImplements(lccn.ClassFromCallNumber, ISolrFieldReducer)
classImplements(nlm.ClassFromCallNumber, ISolrFieldReducer)